iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0

來了來了~ 今天來學習如何使用TabLayout,它不但可以讓我們原本比較單一變化的按鈕變更成更好看的控件,還可以客製化它(無預警預告下篇介紹),更本是美感人的救星(?

扯遠了,只是說說而已沒那麼明白,我們直接上手操作~


一樣跟上一篇範例接著做可以,或新增一個新專案也行

新增

  • 做法一樣,新增三個Fragment(Blank),在自己的com.example.檔名 右鍵 > New > Fragment > 點擊 Fragment(Blank)
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454SoOHfUz3wA.png

  • 之後還需要新增一個 Java Class,在自己的com.example.檔名 右鍵 > New > 點擊 Java Class
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454TDUx4pT6FQ.png

  • 都用用好後長這樣
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454RzH03D8o39.png

TabLayout

  • 於 activity_main.xml 中變化最大,一樣是用LinearLayout佈局,上方放TabLayout與TabItem,下方放ViewPager2,權重可調自己喜歡的樣子~
    一樣記得要用id喔~ (TabLayout和viewpager2)
    我總共放了三個TabItem
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454eHtWlbiG2p.png
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454XB4nM5COhG.png

  • MainActivity
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454HCovL0jH0J.png
    https://ithelp.ithome.com.tw/upload/images/20241002/201684545S5T87EhfP.png

  1. 利用TabLayoutMediator將Tablayout與ViewPager連動
  2. 將上方的String中,個別寫入Tabitem各自的名稱;除了我這個方法外也可以用if條件式去判斷position(大概長下方這樣),可以自行探索~
if (position == 0) tab.setText("消息");
if (position == 1) tab.setText("主頁");
if (position == 2) tab.setText("更多資訊");
  1. 最後最後一定要記得加.attach(),不信邪的也可以自行試試看

ViewPagerAdapter

差不多也沒什麼大變化
https://ithelp.ithome.com.tw/upload/images/20241002/20168454xdeowpviwT.png
之前有說明,不知道的可以去上一篇看看再回來~

Fragment

也沒有大變化,不知道怎麼做的可以翻之前Fragment的那篇~

  • LeftFragment(都一樣只是文字不同)
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454q70d1tZpxz.png

  • .xml(也是沒甚麼大變化絕對不是因為我懶)
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454BzmJwa1LuI.png
    https://ithelp.ithome.com.tw/upload/images/20241002/20168454FZaW38Iwbr.png

執行畫面

(剛開始)
https://ithelp.ithome.com.tw/upload/images/20241002/20168454EoD1dLGdgq.png

(滑動中)
https://ithelp.ithome.com.tw/upload/images/20241002/2016845497wYNnpka3.png

(滑動後,也可點擊變化)
https://ithelp.ithome.com.tw/upload/images/20241002/20168454pg4ywXPt7f.png


上一篇
元件篇-Fragment+ViewPager2 Day23
下一篇
元件篇-自定義TabLayout Day25
系列文
Android 元件總動員 - 運用與實踐元件指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言